#include <asm-xen/hypervisor.h>
#include <asm-xen/evtchn.h>
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
-EXPORT_SYMBOL(force_evtchn_callback);
-EXPORT_SYMBOL(evtchn_do_upcall);
-EXPORT_SYMBOL(bind_evtchn_to_irq);
-EXPORT_SYMBOL(unbind_evtchn_from_irq);
-#endif
-
/*
* This lock protects updates to the following mapping and reference-count
* arrays. The lock does not need to be acquired to read the mapping tables.
{
(void)HYPERVISOR_xen_version(0);
}
+EXPORT_SYMBOL(force_evtchn_callback);
/* NB. Interrupts are disabled on entry. */
asmlinkage void evtchn_do_upcall(struct pt_regs *regs)
}
}
}
+EXPORT_SYMBOL(evtchn_do_upcall);
static int find_unbound_irq(void)
{
return irq;
}
+EXPORT_SYMBOL(bind_virq_to_irq);
void unbind_virq_from_irq(int virq)
{
spin_unlock(&irq_mapping_update_lock);
}
+EXPORT_SYMBOL(unbind_virq_from_irq);
int bind_ipi_to_irq(int ipi)
{
return irq;
}
+EXPORT_SYMBOL(bind_ipi_to_irq);
void unbind_ipi_from_irq(int ipi)
{
spin_unlock(&irq_mapping_update_lock);
}
+EXPORT_SYMBOL(unbind_ipi_from_irq);
int bind_evtchn_to_irq(unsigned int evtchn)
{
return irq;
}
+EXPORT_SYMBOL(bind_evtchn_to_irq);
void unbind_evtchn_from_irq(unsigned int evtchn)
{
spin_unlock(&irq_mapping_update_lock);
}
+EXPORT_SYMBOL(unbind_evtchn_from_irq);
int bind_evtchn_to_irqhandler(
unsigned int evtchn,
return retval;
}
+EXPORT_SYMBOL(bind_evtchn_to_irqhandler);
void unbind_evtchn_from_irqhandler(unsigned int evtchn, void *dev_id)
{
free_irq(irq, dev_id);
unbind_evtchn_from_irq(evtchn);
}
+EXPORT_SYMBOL(unbind_evtchn_from_irqhandler);
#ifdef CONFIG_SMP
static void do_nothing_function(void *ign)
static char printf_buffer[4096];
static LIST_HEAD(watches);
+
DECLARE_MUTEX(xenbus_lock);
+EXPORT_SYMBOL(xenbus_lock);
static int get_error(const char *errorstring)
{
ret[(*num)++] = p;
return ret;
}
+EXPORT_SYMBOL(xenbus_directory);
/* Check if a path exists. Return 1 if it does. */
int xenbus_exists(const char *dir, const char *node)
kfree(d);
return 1;
}
+EXPORT_SYMBOL(xenbus_exists);
/* Get the value of a single file.
* Returns a kmalloced value: call free() on it after use.
return xs_error(xs_talkv(XS_WRITE, iovec, ARRAY_SIZE(iovec), NULL));
}
+EXPORT_SYMBOL(xenbus_write);
/* Create a new directory. */
int xenbus_mkdir(const char *dir, const char *node)
{
return xs_error(xs_single(XS_MKDIR, join(dir, node), NULL));
}
+EXPORT_SYMBOL(xenbus_mkdir);
/* Destroy a file or directory (directories must be empty). */
int xenbus_rm(const char *dir, const char *node)
{
return xs_error(xs_single(XS_RM, join(dir, node), NULL));
}
+EXPORT_SYMBOL(xenbus_rm);
/* Start a transaction: changes by others will not be seen during this
* transaction, and changes will not be visible to others until end.